package com.yang.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yang.dao.entity.CommodityDO;
import com.yang.dto.req.CommodityPageQueryReqDTO;
import com.yang.dto.req.CommoditySaveReqDTO;
import com.yang.dto.req.CommodityUpdateReqDTO;
import com.yang.dto.resp.CommodityPageQueryRespDTO;

/**
 * 商品业务逻辑层
 * 作者：孤城暖阳y
 * 开发时间：2025-03-11
 */
public interface CommodityService extends IService<CommodityDO> {

    /**
     * 商品分页查询
     *
     * @param requestParam 查询请求参数
     * @return 分页结果
     */
    IPage<CommodityPageQueryRespDTO> pageQueryCommodities(CommodityPageQueryReqDTO requestParam);

    /**
     * 新增商品信息
     *
     * @param requestParam 商品请求参数
     */
    void saveCommodity(CommoditySaveReqDTO requestParam);

    /**
     * 更新商品信息
     *
     * @param requestParam 更新商品请求参数
     */
    void updateCommodity(CommodityUpdateReqDTO requestParam);

    /**
     * 删除商品信息
     *
     * @param id 商品id
     */
    void deleteCommodity(Long id) throws Exception;

}
